package com.yanqu.road.entity.activity.summergames.cross;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.Objects;

@FieldTypeAnnotation(tableName = "t_c_summer_games_exchange_data", desc = "交换记录")
public class CrossSummerGamesExchangeData extends DataObject {

    @FieldTypeAnnotation(select = true, update = true, desc = "活动ID")
    private int activityId;

    @FieldTypeAnnotation(update = true, desc = "记录id")
    private long id;

    @FieldTypeAnnotation(desc = "发布者")
    private long pUserId;

    @FieldTypeAnnotation(desc = "发布者-区服")
    private long pServerId;

    @FieldTypeAnnotation(desc = "提供奖牌")
    private int pGoodsId;

    @FieldTypeAnnotation(desc = "提供奖牌")
    private int wantGoodsId;

    @FieldTypeAnnotation(desc = "商会id")
    private String unionUid = "";

    @FieldTypeAnnotation(desc = "指定玩家/成交玩家")
    private long aUserId;

    @FieldTypeAnnotation(desc = "（指定玩家/成交玩家）区服")
    private long aServerId;

    @FieldTypeAnnotation(desc = "状态， -1: 预发布 ;0：发布；1：完成；3：领奖；4：取消；5: 拒绝")
    private int status;

    @FieldTypeAnnotation(desc = "发布时间")
    private long pTime;

    @FieldTypeAnnotation(desc = "类型：0跨服，1商会，2指定玩家")
    private int applyType;

    @FieldTypeAnnotation(desc = "最后修改时间")
    private long lastUpdateTime;

    @FieldTypeAnnotation(desc = "玩家昵称（申请人）")
    private String nickName;

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        if(this.activityId != activityId) {
            this.activityId = activityId;
            setUpdateOption();
        }
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        if(this.id != id) {
            this.id = id;
            setUpdateOption();
        }
    }

    public long getPUserId() {
        return pUserId;
    }

    public void setPUserId(long pUserId) {
        if(this.pUserId != pUserId) {
            this.pUserId = pUserId;
            setUpdateOption();
        }
    }

    public long getPServerId() {
        return pServerId;
    }

    public void setPServerId(long pServerId) {
        if(this.pServerId != pServerId) {
            this.pServerId = pServerId;
            setUpdateOption();
        }
    }

    public int getPGoodsId() {
        return pGoodsId;
    }

    public void setPGoodsId(int pGoodsId) {
        if(this.pGoodsId != pGoodsId) {
            this.pGoodsId = pGoodsId;
            setUpdateOption();
        }
    }

    public int getWantGoodsId() {
        return wantGoodsId;
    }

    public void setWantGoodsId(int wantGoodsId) {
        if(this.wantGoodsId != wantGoodsId) {
            this.wantGoodsId = wantGoodsId;
            setUpdateOption();
        }
    }

    public String getUnionUid() {
        return unionUid;
    }

    public void setUnionUid(String unionUid) {
        if(!Objects.equals(this.unionUid, unionUid)) {
            this.unionUid = unionUid;
            setUpdateOption();
        }
    }

    public long getAUserId() {
        return aUserId;
    }

    public void setAUserId(long aUserId) {
        if(this.aUserId != aUserId) {
            this.aUserId = aUserId;
            setUpdateOption();
        }
    }

    public long getAServerId() {
        return aServerId;
    }

    public void setAServerId(long aServerId) {
        if(this.aServerId != aServerId) {
            this.aServerId = aServerId;
            setUpdateOption();
        }
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        if(this.status != status) {
            this.status = status;
            setUpdateOption();
        }
    }

    public long getPTime() {
        return pTime;
    }

    public void setPTime(long pTime) {
        if(this.pTime != pTime) {
            this.pTime = pTime;
            setUpdateOption();
        }
    }

    public int getApplyType() {
        return applyType;
    }

    public void setApplyType(int applyType) {
        if(this.applyType != applyType) {
            this.applyType = applyType;
            setUpdateOption();
        }
    }

    public long getLastUpdateTime() {
        return lastUpdateTime;
    }

    public void setLastUpdateTime(long lastUpdateTime) {
        if(this.lastUpdateTime != lastUpdateTime) {
            this.lastUpdateTime = lastUpdateTime;
            setUpdateOption();
        }
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        if(!Objects.equals(this.nickName, nickName)) {
            this.nickName = nickName;
            setUpdateOption();
        }
    }
}
